<?php

namespace Applications\Frontoffice\Modules\Inscription;

class InscriptionController extends \Library\BackController {
    
    public function executeInscription(\Library\HTTPRequest $request) {
        $this->page->addVar('title', 'Inscription');
        // On récupère le manager des Inscription
        $manager = $this->managers->getManagerOf('Inscription');

        if ($request->postExists('emailsignup')) {
            // 1- vérif que l'adresse mail n'existe pas dans la base
            // 2- vérif que le password et password confirme concorde
            $login = $request->postData('emailsignup');
            $password = $request->postData('passwordsignup');
            $passwordConfirm = $request->postData('passwordsignup_confirm');
            if ($manager->checkMail($login) != true) {
                if ($password === $passwordConfirm) {
                    $this->app->user()->setFlash('password OK');
                    $inscription = new \Library\Entities\Inscription(array(
                                'email' => $request->postData('emailsignup'),
                                'name' => $request->postData('usernamesignup'),
                                'password' => $request->postData('passwordsignup'),
                        ));
                    if ($inscription->isValid()) {
                        $this->managers->getManagerOf('Inscription')->save($inscription);
                        $this->app->user()->setFlash('votre inscription est OK, merci !');
                        //$this->app->httpResponse()->redirect('news-' . $request->getData('news') . '.html');
                    } else {
                        $this->page->addVar('erreurs', $inscription->erreurs());
                    }
                    //$this->page->addVar('comment', $inscription);
                } else {
                    $this->app->user()->setFlash('Il semble que les mots de passes ne correspondent pas...');
                }
            } else {
                $this->app->user()->setFlash('Cette adresse email est déjà dans nos bases...');
            }
        }
    }
}

?>
